using B.S.NewMedical.ErrorCode;
using MediatR;

namespace B.S.NewMedical.Api.Write.Application.Command.Doctor
{
    /// <summary>
    /// 获取医生待就诊患者列表命令
    /// </summary>
    public class GetWaitingPatientsCommand : IRequest<ApiResult<List<WaitingPatientDto>>>
    {
        /// <summary>
        /// 医生ID
        /// </summary>
        public int DoctorId { get; set; }

        /// <summary>
        /// 就诊日期（可选，默认当天）
        /// </summary>
        public DateTime? VisitDate { get; set; }
    }

    /// <summary>
    /// 待就诊患者DTO
    /// </summary>
    public class WaitingPatientDto
    {
        /// <summary>
        /// 挂号ID
        /// </summary>
        public int RegistrationId { get; set; }

        /// <summary>
        /// 就诊卡号
        /// </summary>
        public string CardNo { get; set; }

        /// <summary>
        /// 患者ID
        /// </summary>
        public int PatientId { get; set; }

        /// <summary>
        /// 患者姓名
        /// </summary>
        public string PatientName { get; set; }

        /// <summary>
        /// 当日流水号
        /// </summary>
        public int SlotNo { get; set; }

        /// <summary>
        /// 挂号时间
        /// </summary>
        public DateTime CreateTime { get; set; }

        /// <summary>
        /// 挂号费
        /// </summary>
        public decimal Fee { get; set; }
    }
} 